A communication system is designed to handle a maximum load. Load, in this context of a communication system, is the amount of work that the system has to perform. Under normal conditions, the system throughput increases as the offered load increases. However, if the offered load increases beyond the maximum load, the system experiences an overload condition. Under this condition, the throughput of an uncontrolled system decreases drastically. In a worst case situation, a deadlock condition may occur so that the throughput of the system becomes almost zero. Therefore, a control strategy must be built into the system to prevent throughput degradation due to overload. Preferably, a designed system should maintain an acceptable throughput even if the load demand increases beyond the system capacity.
A communication network consists of nodes that are information processing entities and links that connect them together. To provide for a scalable, fault tolerant architecture, the design of a node is often based on a multiprocessor hardware architecture consisting of a plurality of interconnect communication processor elements. A bus-based interconnect is typically used to support inter-processor communications. The functions performed by such a system include the forwarding of traffic between internodal links, establishment of connections through the network for carrying user traffic, recovery from link and node failures, and reporting of events and collection of statistics for managing the network.
Conditions that may cause overload in such a system include:
(1) Excess rate of new connection set-up requests. PA1 (2) Recovery after a link failure. PA1 (3) Processor failure recovery. PA1 (4) Excess rate of alarm and report generations. PA1 (5) Network management requests. PA1 (6) Internal control and monitoring functions. PA1 (7) Data management functions.
Overload control strategies currently applied to network communication systems focus on the overload caused in a system by an external load: message arrival in store-and-forward packet switching system or incoming call request arrivals in a stored program control switching system. However, there is a need to consider both externally and internally generated loads, and to deal with the different sources of load in the system, such as incoming call requests, failure recovery, network management requests, and audits.
Due to the variety of activities and demands imposed on network communication systems, they must react to overload conditions in a selective manner. Many systems dealing with overload control do not take into consideration this behavioral aspect. The overload state of the system and relevance of a given activity should be considered to determine the reaction of the system.
Finally, there are a set of internal activities, such as audits, that any communication system must perform even in the presence of overload. Current overload control schemes do not directly deal with this issue (they are dealt with partially via other mechanisms).
Thus, there is need for a mechanism and method that address software overloads in a communication network system to preserve the throughput capacity of the system in a simple and efficient manner.